//
//  XGBuyCarController.m
//  XGNotifyJump
//
//  Created by 小果 on 16/8/22.
//  Copyright © 2016年 小果. All rights reserved.
//

#import "XGBuyCarController.h"
#import "XGCarModel.h"
#import "XGCarGroup.h"

@interface XGBuyCarController ()
@property (nonatomic, strong) NSArray *groups;
@end

@implementation XGBuyCarController
-(NSArray *)groups{
    if (_groups == nil){
        NSArray *dictArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"buyCar.plist" ofType:nil]];
        
        // 将字典数组转成模型数组
        NSMutableArray *carArray = [NSMutableArray array];
        for (NSDictionary *dict in dictArray) {
            XGCarGroup *carGroup = [XGCarGroup carGroupWithDict:dict];
            [carArray addObject:carGroup];
        }
        _groups = carArray;
    }
    return _groups;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
}

#pragma - mark 数据源的方法
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return self.groups.count;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // 通过组号拿到对应组的数据
    XGCarGroup *group = self.groups[section];
    return  group.cars.count;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 1、定义一个标示符
    static NSString *ID = @"car";
    
    // 2、从缓存池取可以循环利用的cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    
    // 3、缓存池里找不到可以循环利用的cell，创建
    if (cell == nil){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];
    }
    // 4、设置数据
    XGCarGroup *group = self.groups[indexPath.section];
    XGCarModel *car = group.cars[indexPath.row];
    
    cell.imageView.image = [UIImage imageNamed:car.icon];
    cell.textLabel.text= car.name;
    
    return cell;
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    XGCarGroup *group = self.groups[section];
    return group.title;
}
/**
 用来返回右边索引条显示的所有字符串的数组
 */
-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
    return [self.groups valueForKeyPath:@"title"];
}


@end
